/**
 * Copyright (c) 2017 ShopJsp. All Rights Reserved.
 * ============================================================================
 * 版权所有 2011 - 今 北京华宇盈通科技有限公司，并保留所有权利。
 * ----------------------------------------------------------------------------
 * 提示：在未取得SHOPJSP商业授权之前，您不能将本软件应用于商业用途，否则SHOPJSP将保留追究的权力。
 * ----------------------------------------------------------------------------
 * 官方网站：http://www.shopjsp.com
 * ============================================================================
 * @author 张丁方
 * @CreateTime 2017-3-31 13:32:13
 */
package com.hyyt.shopjsp.order.pojo;

import com.hyyt.shopjsp.basic.vo.BasicStatusRelateVo;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* SHOP_订单
*
* @author Robot 2017-03-31 13:32:13
*/
public class ShopOrders implements Serializable{
    private Integer ordersId;          //订单ID
    private Integer customerId;          //客户ID
    private Integer sonaccountId;          //采购员ID
    private String buyerName;          //采购员姓名
    private Integer shopInfoId;          //店铺ID
    private String totalOrdersNo;          //总订单号
    private String ordersNo;          //订单号
    private Timestamp createTime;          //订单生成时间
    private Timestamp updateTime;          //订单修改时间
    private String regionLocation;          //州省地区
    private String city;          //城市
    private String country;          //国家
    private String address;          //详细地址(街道)
    private String consignee;          //收货人全名称
    private String email;          //电子邮件
    private String postcode;          //邮政编码
    private Integer bestSendDate;          //最佳送货时间
    private String flagContractor;          //标志建筑
    private String phone;          //电话
    private String mobilePhone;          //手机
    private Integer sendType;          //配送方式
    private Integer payMode;          //支付方式  1、支付宝 2、微信支付 3、网银支付 4.余额支付 5.快钱支付 6.货到付款 7.金币抵扣 8.支付宝(扫描)
    private java.math.BigDecimal userCoin;          //使金币数量
    private java.math.BigDecimal changeAmount;          //使金币兑换金额
    private java.math.BigDecimal orderCouponAmount;          //订单使用优惠券金额
    private java.math.BigDecimal freight;          //运费
    private java.math.BigDecimal totalAmount;          //总金额
    private java.math.BigDecimal finalAmount;          //最终支付金额
    private Integer isUseCoupon;          //是否使用优惠卷
    private Integer customerDiscountCouponID;          //优惠券ID
    private String comments;          //订单附言
    private String ip;          //购买人IP
    private String currency;          //货币类型
    private Integer oosOperator;          //缺货处理(N)
    private Integer isLocked;          //锁定操作
    /**
     * 订单状态
     * 0 和 1 为 订单生成(含义：等待付款/生成订单)，2、付款成功(含义：已经付款)，3 已配货待发货，4 商家已发货待收货，5 用户已确认收货，
     * 6 用户取消订单(含义：确认作废)，7 异常订单(退换货等)，8 修改订单(N暂时未用) 9 订单内所有商品已评价
     *
     * 前台PC，微信手机，APP给用户显示的节点：
     * 1.全部订单 对应 ： 所有订单
     * 2.待付款  对应 ： 0 未付款  0 订单生成
     * 3.待发货  对应 ： 1 已付款  0 订单生成  OR  3 已配货待发货
     * 4.待收货  对应 ： 1 已付款  4 商家已发货
     * 5.待评价  对应 ： 1 已付款  5 用户已确认收货  OR  9 订单内所有商品已评价
     * 6.售后   对应 ： 1 已付款   7 异常订单  isReturn字段  1：有
     * 其他特殊节点：待配货  对应 ： 1 已付款  0 订单生成
     */
    private Integer ordersState;          //订单状态
    private Integer settlementStatus;          //企业结算状态
    private Integer settlementStatusForSellers;          //供应商结算状态
    private String ordersRemark;          //订单备注(客服留言)
    private java.math.BigDecimal virtualCoin;          //订单中金币总值
    private Integer isInvoice;          //是否开发票
    private java.math.BigDecimal useLineOfCredit;          //已使用授信额度
    private String companyNameForInvoice;          //发票公司名称
    private String taxpayerNumber;          //纳税人识别编号
    private String addressForInvoice;          //发票地址
    private String phoneForInvoice;          //发票电话
    private String openingBank;          //开户行
    private String bankAccountNumber;          //账号
    private Integer invoiceType;          //发票类型 1:不开发票 2：普通发票 3：增值税发票
    private String invoiceInfo;          //发票内容
    private Integer customerType;          //下单人类型 1：企业用户 2：供应商 3：普通用户
    private String dealId;          //支付交易号
    private java.math.BigDecimal virtualCoinNumber;          //商城赠送给客户的金币
    private java.math.BigDecimal discount;          //折扣比例
    private String bankCode;          //付款银行编码
    private Integer distributionMode;          //配送细分方式 (暂时未使用，使用sendType属性)
    private java.math.BigDecimal taxation;          //税费
    private Integer orderSource;          //订单来源：1：普通正常下单；2：团购下单;3手机普通正常下单；4：手机团购下单
    private java.math.BigDecimal membersDiscountPrice;          //会员折扣金额
    private java.math.BigDecimal tallagePrice;          //税费
    private Integer isReturn;          //是否有退货 0：无  1：有
    private Integer isRebate;          //是否返利 0：未返  1：已返
    private java.math.BigDecimal rebateAmount;          //上一级返利总金额
    private java.math.BigDecimal secRebateAmount;          //上二级返利总金额
    private java.math.BigDecimal thiRebateAmount;          //上三级返利总金额
    private java.math.BigDecimal platPresentCoin;          //平台赠送积分
    private java.math.BigDecimal birthMonthDiscount;          //生日月折扣值(以100为单位)
    private java.math.BigDecimal birthMonthDiscountPrice;          //生日月折扣减少总金额
    private Integer customerLevel;          //会员等级
    private java.math.BigDecimal platPromotionDiscountPrice;          //平台促销折扣减少总金额
    private java.math.BigDecimal vipDeductionPrice;          //店铺VIP会员折扣减少总金额
    private java.math.BigDecimal vipDiscount;          //店铺VIP会员折扣(以100为单位)

    /*扩展字段*/
    private String loginName;          //登录账号
    private Timestamp operatorTime;//操作时间
    private List<ShopOrdersList> shopOrderslists;
    private BasicStatusRelateVo statusRelateVo;//从redis取订单状态及操作
    private String shopName;//店铺名称
    private Integer shopInfoType;//店铺类型

    public String getShopName() {
		return shopName;
	}

	public void setShopName(String shopName) {
		this.shopName = shopName;
	}

	public Integer getShopInfoType() {
		return shopInfoType;
	}

	public void setShopInfoType(Integer shopInfoType) {
		this.shopInfoType = shopInfoType;
	}

	public ShopOrders() {
    }

    public BasicStatusRelateVo getStatusRelateVo() {
        return statusRelateVo;
    }

    public void setStatusRelateVo(BasicStatusRelateVo statusRelateVo) {
        this.statusRelateVo = statusRelateVo;
    }

    public List<ShopOrdersList> getShopOrderslists() {
        return shopOrderslists;
    }

    public void setShopOrderslists(List<ShopOrdersList> shopOrderslists) {
        this.shopOrderslists = shopOrderslists;
    }

    public Timestamp getOperatorTime() {
        return operatorTime;
    }

    public void setOperatorTime(Timestamp operatorTime) {
        this.operatorTime = operatorTime;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public Integer getOrdersId(){
        return this.ordersId;
    }

    public void setOrdersId(Integer ordersId){
        this.ordersId=ordersId;
    }
    public Integer getCustomerId(){
        return this.customerId;
    }

    public void setCustomerId(Integer customerId){
        this.customerId=customerId;
    }
    public Integer getSonaccountId(){
        return this.sonaccountId;
    }

    public void setSonaccountId(Integer sonaccountId){
        this.sonaccountId=sonaccountId;
    }
    public String getBuyerName(){
        return this.buyerName;
    }

    public void setBuyerName(String buyerName){
        this.buyerName=buyerName;
    }
    public Integer getShopInfoId(){
        return this.shopInfoId;
    }

    public void setShopInfoId(Integer shopInfoId){
        this.shopInfoId=shopInfoId;
    }
    public String getTotalOrdersNo(){
        return this.totalOrdersNo;
    }

    public void setTotalOrdersNo(String totalOrdersNo){
        this.totalOrdersNo=totalOrdersNo;
    }
    public String getOrdersNo(){
        return this.ordersNo;
    }

    public void setOrdersNo(String ordersNo){
        this.ordersNo=ordersNo;
    }
    public Timestamp getCreateTime(){
        return this.createTime;
    }

    public void setCreateTime(Timestamp createTime){
        this.createTime=createTime;
    }
    public Timestamp getUpdateTime(){
        return this.updateTime;
    }

    public void setUpdateTime(Timestamp updateTime){
        this.updateTime=updateTime;
    }
    public String getRegionLocation(){
        return this.regionLocation;
    }

    public void setRegionLocation(String regionLocation){
        this.regionLocation=regionLocation;
    }
    public String getCity(){
        return this.city;
    }

    public void setCity(String city){
        this.city=city;
    }
    public String getCountry(){
        return this.country;
    }

    public void setCountry(String country){
        this.country=country;
    }
    public String getAddress(){
        return this.address;
    }

    public void setAddress(String address){
        this.address=address;
    }
    public String getConsignee(){
        return this.consignee;
    }

    public void setConsignee(String consignee){
        this.consignee=consignee;
    }
    public String getEmail(){
        return this.email;
    }

    public void setEmail(String email){
        this.email=email;
    }
    public String getPostcode(){
        return this.postcode;
    }

    public void setPostcode(String postcode){
        this.postcode=postcode;
    }
    public Integer getBestSendDate(){
        return this.bestSendDate;
    }

    public void setBestSendDate(Integer bestSendDate){
        this.bestSendDate=bestSendDate;
    }
    public String getFlagContractor(){
        return this.flagContractor;
    }

    public void setFlagContractor(String flagContractor){
        this.flagContractor=flagContractor;
    }
    public String getPhone(){
        return this.phone;
    }

    public void setPhone(String phone){
        this.phone=phone;
    }
    public String getMobilePhone(){
        return this.mobilePhone;
    }

    public void setMobilePhone(String mobilePhone){
        this.mobilePhone=mobilePhone;
    }
    public Integer getSendType(){
        return this.sendType;
    }

    public void setSendType(Integer sendType){
        this.sendType=sendType;
    }
    public Integer getPayMode(){
        return this.payMode;
    }

    public void setPayMode(Integer payMode){
        this.payMode=payMode;
    }
    public java.math.BigDecimal getUserCoin(){
        return this.userCoin;
    }

    public void setUserCoin(java.math.BigDecimal userCoin){
        this.userCoin=userCoin;
    }
    public java.math.BigDecimal getChangeAmount(){
        return this.changeAmount;
    }

    public void setChangeAmount(java.math.BigDecimal changeAmount){
        this.changeAmount=changeAmount;
    }
    public java.math.BigDecimal getOrderCouponAmount(){
        return this.orderCouponAmount;
    }

    public void setOrderCouponAmount(java.math.BigDecimal orderCouponAmount){
        this.orderCouponAmount=orderCouponAmount;
    }
    public java.math.BigDecimal getFreight(){
        return this.freight;
    }

    public void setFreight(java.math.BigDecimal freight){
        this.freight=freight;
    }
    public java.math.BigDecimal getTotalAmount(){
        return this.totalAmount;
    }

    public void setTotalAmount(java.math.BigDecimal totalAmount){
        this.totalAmount=totalAmount;
    }
    public java.math.BigDecimal getFinalAmount(){
        return this.finalAmount;
    }

    public void setFinalAmount(java.math.BigDecimal finalAmount){
        this.finalAmount=finalAmount;
    }
    public Integer getIsUseCoupon(){
        return this.isUseCoupon;
    }

    public void setIsUseCoupon(Integer isUseCoupon){
        this.isUseCoupon=isUseCoupon;
    }
    public Integer getCustomerDiscountCouponId(){
        return this.customerDiscountCouponID;
    }

    public void setCustomerDiscountCouponId(Integer customerDiscountCouponID){
        this.customerDiscountCouponID=customerDiscountCouponID;
    }
    public String getComments(){
        return this.comments;
    }

    public void setComments(String comments){
        this.comments=comments;
    }
    public String getIp(){
        return this.ip;
    }

    public void setIp(String ip){
        this.ip=ip;
    }
    public String getCurrency(){
        return this.currency;
    }

    public void setCurrency(String currency){
        this.currency=currency;
    }
    public Integer getOosOperator(){
        return this.oosOperator;
    }

    public void setOosOperator(Integer oosOperator){
        this.oosOperator=oosOperator;
    }
    public Integer getIsLocked(){
        return this.isLocked;
    }

    public void setIsLocked(Integer isLocked){
        this.isLocked=isLocked;
    }
    public Integer getOrdersState(){
        return this.ordersState;
    }

    public void setOrdersState(Integer ordersState){
        this.ordersState=ordersState;
    }
    public Integer getSettlementStatus(){
        return this.settlementStatus;
    }

    public void setSettlementStatus(Integer settlementStatus){
        this.settlementStatus=settlementStatus;
    }
    public Integer getSettlementStatusForSellers(){
        return this.settlementStatusForSellers;
    }

    public void setSettlementStatusForSellers(Integer settlementStatusForSellers){
        this.settlementStatusForSellers=settlementStatusForSellers;
    }
    public String getOrdersRemark(){
        return this.ordersRemark;
    }

    public void setOrdersRemark(String ordersRemark){
        this.ordersRemark=ordersRemark;
    }
    public java.math.BigDecimal getVirtualCoin(){
        return this.virtualCoin;
    }

    public void setVirtualCoin(java.math.BigDecimal virtualCoin){
        this.virtualCoin=virtualCoin;
    }
    public Integer getIsInvoice(){
        return this.isInvoice;
    }

    public void setIsInvoice(Integer isInvoice){
        this.isInvoice=isInvoice;
    }
    public java.math.BigDecimal getUseLineOfCredit(){
        return this.useLineOfCredit;
    }

    public void setUseLineOfCredit(java.math.BigDecimal useLineOfCredit){
        this.useLineOfCredit=useLineOfCredit;
    }
    public String getCompanyNameForInvoice(){
        return this.companyNameForInvoice;
    }

    public void setCompanyNameForInvoice(String companyNameForInvoice){
        this.companyNameForInvoice=companyNameForInvoice;
    }
    public String getTaxpayerNumber(){
        return this.taxpayerNumber;
    }

    public void setTaxpayerNumber(String taxpayerNumber){
        this.taxpayerNumber=taxpayerNumber;
    }
    public String getAddressForInvoice(){
        return this.addressForInvoice;
    }

    public void setAddressForInvoice(String addressForInvoice){
        this.addressForInvoice=addressForInvoice;
    }
    public String getPhoneForInvoice(){
        return this.phoneForInvoice;
    }

    public void setPhoneForInvoice(String phoneForInvoice){
        this.phoneForInvoice=phoneForInvoice;
    }
    public String getOpeningBank(){
        return this.openingBank;
    }

    public void setOpeningBank(String openingBank){
        this.openingBank=openingBank;
    }
    public String getBankAccountNumber(){
        return this.bankAccountNumber;
    }

    public void setBankAccountNumber(String bankAccountNumber){
        this.bankAccountNumber=bankAccountNumber;
    }
    public Integer getInvoiceType(){
        return this.invoiceType;
    }

    public void setInvoiceType(Integer invoiceType){
        this.invoiceType=invoiceType;
    }
    public String getInvoiceInfo(){
        return this.invoiceInfo;
    }

    public void setInvoiceInfo(String invoiceInfo){
        this.invoiceInfo=invoiceInfo;
    }
    public Integer getCustomerType(){
        return this.customerType;
    }

    public void setCustomerType(Integer customerType){
        this.customerType=customerType;
    }
    public String getDealId(){
        return this.dealId;
    }

    public void setDealId(String dealId){
        this.dealId=dealId;
    }
    public java.math.BigDecimal getVirtualCoinNumber(){
        return this.virtualCoinNumber;
    }

    public void setVirtualCoinNumber(java.math.BigDecimal virtualCoinNumber){
        this.virtualCoinNumber=virtualCoinNumber;
    }
    public java.math.BigDecimal getDiscount(){
        return this.discount;
    }

    public void setDiscount(java.math.BigDecimal discount){
        this.discount=discount;
    }
    public String getBankCode(){
        return this.bankCode;
    }

    public void setBankCode(String bankCode){
        this.bankCode=bankCode;
    }
    public Integer getDistributionMode(){
        return this.distributionMode;
    }

    public void setDistributionMode(Integer distributionMode){
        this.distributionMode=distributionMode;
    }
    public java.math.BigDecimal getTaxation(){
        return this.taxation;
    }

    public void setTaxation(java.math.BigDecimal taxation){
        this.taxation=taxation;
    }
    public Integer getOrderSource(){
        return this.orderSource;
    }

    public void setOrderSource(Integer orderSource){
        this.orderSource=orderSource;
    }
    public java.math.BigDecimal getMembersDiscountPrice(){
        return this.membersDiscountPrice;
    }

    public void setMembersDiscountPrice(java.math.BigDecimal membersDiscountPrice){
        this.membersDiscountPrice=membersDiscountPrice;
    }
    public java.math.BigDecimal getTallagePrice(){
        return this.tallagePrice;
    }

    public void setTallagePrice(java.math.BigDecimal tallagePrice){
        this.tallagePrice=tallagePrice;
    }
    public Integer getIsReturn(){
        return this.isReturn;
    }

    public void setIsReturn(Integer isReturn){
        this.isReturn=isReturn;
    }
    public Integer getIsRebate(){
        return this.isRebate;
    }

    public void setIsRebate(Integer isRebate){
        this.isRebate=isRebate;
    }
    public java.math.BigDecimal getRebateAmount(){
        return this.rebateAmount;
    }

    public void setRebateAmount(java.math.BigDecimal rebateAmount){
        this.rebateAmount=rebateAmount;
    }
    public java.math.BigDecimal getSecRebateAmount(){
        return this.secRebateAmount;
    }

    public void setSecRebateAmount(java.math.BigDecimal secRebateAmount){
        this.secRebateAmount=secRebateAmount;
    }
    public java.math.BigDecimal getThiRebateAmount(){
        return this.thiRebateAmount;
    }

    public void setThiRebateAmount(java.math.BigDecimal thiRebateAmount){
        this.thiRebateAmount=thiRebateAmount;
    }
    public java.math.BigDecimal getPlatPresentCoin(){
        return this.platPresentCoin;
    }

    public void setPlatPresentCoin(java.math.BigDecimal platPresentCoin){
        this.platPresentCoin=platPresentCoin;
    }
    public java.math.BigDecimal getBirthMonthDiscount(){
        return this.birthMonthDiscount;
    }

    public void setBirthMonthDiscount(java.math.BigDecimal birthMonthDiscount){
        this.birthMonthDiscount=birthMonthDiscount;
    }
    public java.math.BigDecimal getBirthMonthDiscountPrice(){
        return this.birthMonthDiscountPrice;
    }

    public void setBirthMonthDiscountPrice(java.math.BigDecimal birthMonthDiscountPrice){
        this.birthMonthDiscountPrice=birthMonthDiscountPrice;
    }
    public Integer getCustomerLevel(){
        return this.customerLevel;
    }

    public void setCustomerLevel(Integer customerLevel){
        this.customerLevel=customerLevel;
    }
    public java.math.BigDecimal getPlatPromotionDiscountPrice(){
        return this.platPromotionDiscountPrice;
    }

    public void setPlatPromotionDiscountPrice(java.math.BigDecimal platPromotionDiscountPrice){
        this.platPromotionDiscountPrice=platPromotionDiscountPrice;
    }
    public java.math.BigDecimal getVipDeductionPrice(){
        return this.vipDeductionPrice;
    }

    public void setVipDeductionPrice(java.math.BigDecimal vipDeductionPrice){
        this.vipDeductionPrice=vipDeductionPrice;
    }
    public java.math.BigDecimal getVipDiscount(){
        return this.vipDiscount;
    }

    public void setVipDiscount(java.math.BigDecimal vipDiscount){
        this.vipDiscount=vipDiscount;
    }
}